
package com.uuah.server.api.transformer;

import java.util.List;

import com.uuah.api.INamedObject;
import com.uuah.api.lifecycle.Initialisable;
import com.uuah.server.api.endpoint.IUuahEndpoint;
import com.uuah.server.exception.transformer.TransformerException;

public interface IBaseTransformer extends Initialisable, INamedObject {

	IUuahEndpoint getEndpoint();

	void setEndpoint(IUuahEndpoint endpoint);

	boolean isSourceTypeSupported(Class aClass);

	List getSourceTypes();

	boolean isAcceptNull();

	Object transform(Object src) throws TransformerException;

	void setReturnClass(Class theClass);

	Class getReturnClass();
}
